package dto

import (
	"time"
)

// ImageListRequest 图片列表请求
// 用于获取图片列表的API请求参数
// 支持分页和筛选功能
// swagger:model ImageListRequest
type ImageListRequest struct {
	// 返回的图片数量，默认为5，最大为20
	// example: 5
	Count int `json:"count" form:"count" binding:"omitempty,max=20,min=1"`
}

// ImageResponse 单个图片响应
// 包含图片的完整信息，用于返回给前端
// swagger:model ImageResponse
type ImageResponse struct {
	// 图片文件名
	// example: "photo_2024.jpg"
	Name string `json:"name"`

	// 图片文件的完整访问URL
	// example: "http://localhost:8080/images/photo_2024.jpg"
	URL string `json:"url"`

	// 文件大小（字节）
	// example: 1048576
	Size int64 `json:"size,omitempty"`

	// 文件创建时间
	// example: "2024-01-15T10:30:00Z"
	CreatedAt time.Time `json:"created_at,omitempty"`
}

// ImageListResponse 图片列表响应
// 包含多个图片的列表和总数信息
// swagger:model ImageListResponse
type ImageListResponse struct {
	// 图片列表
	Images []ImageResponse `json:"images"`

	// URL数组，包含所有图片的访问URL
	// example: ["http://localhost:8080/images/photo1.jpg", "http://localhost:8080/images/photo2.jpg"]
	URLs []string `json:"urls"`

	// 图片总数
	// example: 100
	Total int `json:"total"`

	// 返回的图片数量
	// example: 5
	Count int `json:"count"`
}
